using System;
using Mono.Fuse;
using Mono.Unix.Native;
using Mehat.San.SanFS;
using System.Xml;

namespace Mehat.San.SanFS.Cache
{
	public interface ICachePolicy
	{
		string	PolicyName {get;}
		void	OpenFile(FileHandle Handle);
		void	ReleaseFile(FileHandle Handle);
		long	ReadFile(FileHandle Handle, byte []Buffer, long Offset);
		void	FlushFile(FileHandle Handle);
		
		ICachePolicy	CreateInstance(XmlNode CfgNode);
	}  // END INTERFACE
}  // END NAMESPACE
